<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>迭代器实例</title>
</head>
<body>
    <script>
        const banji = {
            name:'终极一班',
            stus:[
                'xiaoming',
                'xiaoning',
                'shuqing',
                'churong',
            ],
            //自定义遍历数据,创建一个遍历器
            [Symbol.iterator](){
                //索引变量
                let index = 0;
                let _this = this;
                return {
                    next:function(){
                        if(index < _this.stus.length){
                        const result = {value:_this.stus[index],done:false};
                        // 下标自增
                        index++;
                        // 返回结果
                        return result;
                    }else{
                        return {value:undefined,done:true};
                    }
                }
                };
            }
        }
        //需求:使用for..of遍历,每次循环返回的是数组里的成员
        for(let v of banji){
            console.log(v);
        }
    </script>
</body>
</html>